package com.transaction.demo.trade.entity;

import java.io.Serializable;
import java.util.Date;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 描述：支付记录表
 * 作者：马庆智
 * 日期：2023/04/27 17:22:10
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TradePaymentRecordBean implements Serializable {

    //id
    private String id;

    //版本号
    private int version;

    //创建时间
    private Date createTime;

    //状态(参考枚举:paymentrecordstatusenum)
    private String status;

    //修改者
    private String editor;

    //创建者
    private String creater;

    //最后修改时间
    private Date editTime;

    //商品名称
    private String productName;

    //商户订单号
    private String merchantOrderNo;

    //支付流水号
    private String trxNo;

    //银行订单号
    private String bankOrderNo;

    //银行流水号
    private String bankTrxNo;

    //商家名称
    private String merchantName;

    //商家编号
    private String merchantNo;

    //付款人编号
    private String payerUserNo;

    //付款人名称
    private String payerName;

    //付款方支付金额
    private String payerPayAmount;

    //付款方手续费
    private String payerFee;

    //付款方账户类型(参考账户类型枚举:accounttypeenum)
    private String payerAccountType;

    //收款人编号
    private String receiverUserNo;

    //收款人名称
    private String receiverName;

    //收款方支付金额
    private String receiverPayAmount;

    //收款方手续费
    private String receiverFee;

    //收款方账户类型(参考账户类型枚举:accounttypeenum)
    private String receiverAccountType;

    //下单ip(客户端ip,从网关中获取)
    private String orderIp;

    //从哪个页面链接过来的(可用于防诈骗)
    private String orderRefererUrl;

    //订单金额
    private String orderAmount;

    //平台收入
    private String platIncome;

    //费率
    private String feeRate;

    //平台成本
    private String platCost;

    //平台利润
    private String platProfit;

    //页面回调通知url
    private String returnUrl;

    //后台异步通知url
    private String notifyUrl;

    //支付方式编号
    private String payWayCode;

    //支付方式名称
    private String payWayName;

    //支付成功时间
    private Date paySuccessTime;

    //完成时间
    private Date completeTime;

    //是否退款(100:是,101:否,默认值为:101)
    private String isRefund;

    //退款次数(默认值为:0)
    private int refundTimes;

    //成功退款总金额
    private String successRefundAmount;

    //交易业务类型  ：消费、充值等
    private String trxType;

    //订单来源
    private String orderFrom;

    //支付类型编号
    private String payTypeCode;

    //支付类型名称
    private String payTypeName;

    //资金流入类型
    private String fundIntoType;

    //备注
    private String remark;

    //银行返回信息
    private String bankReturnMsg;

}
